home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_1
/
easyprocess
/
source
/
launch
/
killprocs.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-09-07
|
1KB
|
59 lines
#include <arpbase.h>
#include <arp_proto.h>
#include "Launch.h"
#include "LaunchPriv.h"
/*
* NAME
* KillProcesses -- try to kill all child via a signal.
*
* SYNOPSIS
* KillProcesses ()
*
* void KillProcesses (void);
*
* DESCRIPTION
* Send a KILL_PROCESS_FLAG signal to all child process of this
* process.
*
* INPUT
* None.
*
* OUTPUT
* None.
*
* NOTE
* This only tries to kill your OWN child processes, not children
* of your children.
*
* This function does not wait to see if the processes really die,
* you MUST call WaitProcesses() before quitting !!!
*
* HISTORY
* 1992/09/06 Pierre Baillargeon Creation
*
* SEE ALSO
* StartProcess(), WaitProcesses(), WaitProcess()
*/
void KillProcesses (void)
{
struct Process *Proc;
struct ProcPair *pp;
Forbid ();
if (ProcPairList)
{
Proc = (struct Process *)FindTask (NULL);
for (pp = (struct ProcPair *)ProcPairList->lh_Head; pp->pp_Node.ln_Succ; pp = (struct ProcPair *)pp->pp_Node.ln_Succ)
{
if (Proc == pp->pp_Parent)
{
Signal (pp->pp_Child, KILL_PROCESS_FLAG);
}
}
}
Permit ();
}